home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK2.toast / Development Kits (Disc 2) / QuickTime / Programming Stuff / QuickTime 2.1 for Developers / Interfaces / PInterfaces / MediaHandlers.p < prev    next >
Encoding:
Text File  |  1995-08-07  |  12.6 KB  |  381 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        MediaHandlers.p
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    
  7.  
  8.      DRI:        Jim Batson
  9.  
  10.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  11.                  All rights reserved.
  12.  
  13.      Warning:    *** APPLE INTERNAL USE ONLY ***
  14.                  This file may contain unreleased API's
  15.  
  16.      BuildInfo:    Built by:            QuickTime
  17.                  With Interfacer:    1.1d11  
  18.                  From:                MediaHandlers.i
  19.                      Revision:        0
  20.                      Dated:            08/07/95
  21.                      Last change by:    JB
  22.                      Last comment:    This is a fake header used so interfacer is happy.
  23.  
  24.      Bugs:        Report bugs to Radar component “System Interfaces”, “Latest”
  25.                  List the version information (from above) in the Problem Description.
  26.  
  27. }
  28.  
  29. {$IFC UNDEFINED UsingIncludes}
  30. {$SETC UsingIncludes := 0}
  31. {$ENDC}
  32.  
  33. {$IFC NOT UsingIncludes}
  34.  UNIT MediaHandlers;
  35.  INTERFACE
  36. {$ENDC}
  37.  
  38. {$IFC UNDEFINED __MEDIAHANDLERS__}
  39. {$SETC __MEDIAHANDLERS__ := 1}
  40.  
  41. {$I+}
  42. {$SETC MediaHandlersIncludes := UsingIncludes}
  43. {$SETC UsingIncludes := 1}
  44.  
  45.  
  46. {$IFC UNDEFINED __MEMORY__}
  47. {$I Memory.p}
  48. {$ENDC}
  49. {    Types.p                                                        }
  50. {        ConditionalMacros.p                                        }
  51. {    MixedMode.p                                                    }
  52.  
  53. {$IFC UNDEFINED __IMAGECOMPRESSION__}
  54. {$I ImageCompression.p}
  55. {$ENDC}
  56. {    Quickdraw.p                                                    }
  57. {        QuickdrawText.p                                            }
  58. {    QDOffscreen.p                                                }
  59. {        Errors.p                                                }
  60. {    Components.p                                                }
  61. {    Windows.p                                                    }
  62. {        Events.p                                                }
  63. {            OSUtils.p                                            }
  64. {        Controls.p                                                }
  65. {            Menus.p                                                }
  66. {    StandardFile.p                                                }
  67. {        Dialogs.p                                                }
  68. {            TextEdit.p                                            }
  69. {        Files.p                                                    }
  70.  
  71. {$IFC UNDEFINED __MOVIES__}
  72. {$I Movies.p}
  73. {$ENDC}
  74. {    Aliases.p                                                    }
  75. {        AppleTalk.p                                                }
  76.  
  77. {$PUSH}
  78. {$ALIGN MAC68K}
  79. {$LibExport+}
  80.  
  81. CONST
  82.     handlerHasSpatial            = 1 * (2**(0));
  83.     handlerCanClip                = 1 * (2**(1));
  84.     handlerCanMatte                = 1 * (2**(2));
  85.     handlerCanTransferMode        = 1 * (2**(3));
  86.     handlerNeedsBuffer            = 1 * (2**(4));
  87.     handlerNoIdle                = 1 * (2**(5));
  88.     handlerNoScheduler            = 1 * (2**(6));
  89.     handlerWantsTime            = 1 * (2**(7));
  90.     handlerCGrafPortOnly        = 1 * (2**(8));
  91.  
  92. { media task flags }
  93.     mMustDraw                    = 1 * (2**(3));
  94.     mAtEnd                        = 1 * (2**(4));
  95.     mPreflightDraw                = 1 * (2**(5));
  96.     mSyncDrawing                = 1 * (2**(6));
  97.  
  98. { media task result flags }
  99.     mDidDraw                    = 1 * (2**(0));
  100.     mNeedsToDraw                = 1 * (2**(2));
  101.     mDrawAgain                    = 1 * (2**(3));
  102.     mPartialDraw                = 1 * (2**(4));
  103.  
  104.     forceUpdateRedraw            = 1 * (2**(0));
  105.     forceUpdateNewBuffer        = 1 * (2**(1));
  106.  
  107.  
  108. TYPE
  109.     GetMovieCompleteParams = RECORD
  110.         version:                INTEGER;
  111.         theMovie:                Movie;
  112.         theTrack:                Track;
  113.         theMedia:                Media;
  114.         movieScale:                TimeScale;
  115.         mediaScale:                TimeScale;
  116.         movieDuration:            TimeValue;
  117.         trackDuration:            TimeValue;
  118.         mediaDuration:            TimeValue;
  119.         effectiveRate:            Fixed;
  120.         timeBase:                TimeBase;
  121.         volume:                    INTEGER;
  122.         width:                    Fixed;
  123.         height:                    Fixed;
  124.         trackMovieMatrix:        MatrixRecord;
  125.         moviePort:                CGrafPtr;
  126.         movieGD:                GDHandle;
  127.         trackMatte:                PixMapHandle;
  128.         inputMap:                QTAtomContainer;
  129.     END;
  130.  
  131.  
  132. CONST
  133.     kMediaVideoParamBrightness    = 1;
  134.     kMediaVideoParamContrast    = 2;
  135.     kMediaVideoParamHue            = 3;
  136.     kMediaVideoParamSharpness    = 4;
  137.     kMediaVideoParamSaturation    = 5;
  138.     kMediaVideoParamBlackLevel    = 6;
  139.     kMediaVideoParamWhiteLevel    = 7;
  140.  
  141.  
  142. FUNCTION MediaInitialize(mh: MediaHandler; VAR gmc: GetMovieCompleteParams): ComponentResult;
  143.     {$IFC NOT GENERATINGCFM}
  144.     INLINE $2F3C, $4, $501, $7000, $A82A;
  145.     {$ENDC}
  146. FUNCTION MediaSetHandlerCapabilities(mh: MediaHandler; flags: LONGINT; flagsMask: LONGINT): ComponentResult;
  147.     {$IFC NOT GENERATINGCFM}
  148.     INLINE $2F3C, $8, $502, $7000, $A82A;
  149.     {$ENDC}
  150. FUNCTION MediaIdle(mh: MediaHandler; atMediaTime: TimeValue; flagsIn: LONGINT; VAR flagsOut: LONGINT; {CONST}VAR movieTime: TimeRecord): ComponentResult;
  151.     {$IFC NOT GENERATINGCFM}
  152.     INLINE $2F3C, $10, $503, $7000, $A82A;
  153.     {$ENDC}
  154. FUNCTION MediaGetMediaInfo(mh: MediaHandler; h: Handle): ComponentResult;
  155.     {$IFC NOT GENERATINGCFM}
  156.     INLINE $2F3C, $4, $504, $7000, $A82A;
  157.     {$ENDC}
  158. FUNCTION MediaPutMediaInfo(mh: MediaHandler; h: Handle): ComponentResult;
  159.     {$IFC NOT GENERATINGCFM}
  160.     INLINE $2F3C, $4, $505, $7000, $A82A;
  161.     {$ENDC}
  162. FUNCTION MediaSetActive(mh: MediaHandler; enableMedia: BOOLEAN): ComponentResult;
  163.     {$IFC NOT GENERATINGCFM}
  164.     INLINE $2F3C, $2, $506, $7000, $A82A;
  165.     {$ENDC}
  166. FUNCTION MediaSetRate(mh: MediaHandler; rate: Fixed): ComponentResult;
  167.     {$IFC NOT GENERATINGCFM}
  168.     INLINE $2F3C, $4, $507, $7000, $A82A;
  169.     {$ENDC}
  170. FUNCTION MediaGGetStatus(mh: MediaHandler; VAR statusErr: ComponentResult): ComponentResult;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $2F3C, $4, $508, $7000, $A82A;
  173.     {$ENDC}
  174. FUNCTION MediaTrackEdited(mh: MediaHandler): ComponentResult;
  175.     {$IFC NOT GENERATINGCFM}
  176.     INLINE $2F3C, 0, $509, $7000, $A82A;
  177.     {$ENDC}
  178. FUNCTION MediaSetMediaTimeScale(mh: MediaHandler; newTimeScale: TimeScale): ComponentResult;
  179.     {$IFC NOT GENERATINGCFM}
  180.     INLINE $2F3C, $4, $50A, $7000, $A82A;
  181.     {$ENDC}
  182. FUNCTION MediaSetMovieTimeScale(mh: MediaHandler; newTimeScale: TimeScale): ComponentResult;
  183.     {$IFC NOT GENERATINGCFM}
  184.     INLINE $2F3C, $4, $50B, $7000, $A82A;
  185.     {$ENDC}
  186. FUNCTION MediaSetGWorld(mh: MediaHandler; aPort: CGrafPtr; aGD: GDHandle): ComponentResult;
  187.     {$IFC NOT GENERATINGCFM}
  188.     INLINE $2F3C, $8, $50C, $7000, $A82A;
  189.     {$ENDC}
  190. FUNCTION MediaSetDimensions(mh: MediaHandler; width: Fixed; height: Fixed): ComponentResult;
  191.     {$IFC NOT GENERATINGCFM}
  192.     INLINE $2F3C, $8, $50D, $7000, $A82A;
  193.     {$ENDC}
  194. FUNCTION MediaSetClip(mh: MediaHandler; theClip: RgnHandle): ComponentResult;
  195.     {$IFC NOT GENERATINGCFM}
  196.     INLINE $2F3C, $4, $50E, $7000, $A82A;
  197.     {$ENDC}
  198. FUNCTION MediaSetMatrix(mh: MediaHandler; VAR trackMovieMatrix: MatrixRecord): ComponentResult;
  199.     {$IFC NOT GENERATINGCFM}
  200.     INLINE $2F3C, $4, $50F, $7000, $A82A;
  201.     {$ENDC}
  202. FUNCTION MediaGetTrackOpaque(mh: MediaHandler; VAR trackIsOpaque: BOOLEAN): ComponentResult;
  203.     {$IFC NOT GENERATINGCFM}
  204.     INLINE $2F3C, $4, $510, $7000, $A82A;
  205.     {$ENDC}
  206. FUNCTION MediaSetGraphicsMode(mh: MediaHandler; mode: LONGINT; {CONST}VAR opColor: RGBColor): ComponentResult;
  207.     {$IFC NOT GENERATINGCFM}
  208.     INLINE $2F3C, $8, $511, $7000, $A82A;
  209.     {$ENDC}
  210. FUNCTION MediaGetGraphicsMode(mh: MediaHandler; VAR mode: LONGINT; VAR opColor: RGBColor): ComponentResult;
  211.     {$IFC NOT GENERATINGCFM}
  212.     INLINE $2F3C, $8, $512, $7000, $A82A;
  213.     {$ENDC}
  214. FUNCTION MediaGSetVolume(mh: MediaHandler; volume: INTEGER): ComponentResult;
  215.     {$IFC NOT GENERATINGCFM}
  216.     INLINE $2F3C, $2, $513, $7000, $A82A;
  217.     {$ENDC}
  218. FUNCTION MediaSetSoundBalance(mh: MediaHandler; balance: INTEGER): ComponentResult;
  219.     {$IFC NOT GENERATINGCFM}
  220.     INLINE $2F3C, $2, $514, $7000, $A82A;
  221.     {$ENDC}
  222. FUNCTION MediaGetSoundBalance(mh: MediaHandler; VAR balance: INTEGER): ComponentResult;
  223.     {$IFC NOT GENERATINGCFM}
  224.     INLINE $2F3C, $4, $515, $7000, $A82A;
  225.     {$ENDC}
  226. FUNCTION MediaGetNextBoundsChange(mh: MediaHandler; VAR when: TimeValue): ComponentResult;
  227.     {$IFC NOT GENERATINGCFM}
  228.     INLINE $2F3C, $4, $516, $7000, $A82A;
  229.     {$ENDC}
  230. FUNCTION MediaGetSrcRgn(mh: MediaHandler; rgn: RgnHandle; atMediaTime: TimeValue): ComponentResult;
  231.     {$IFC NOT GENERATINGCFM}
  232.     INLINE $2F3C, $8, $517, $7000, $A82A;
  233.     {$ENDC}
  234. FUNCTION MediaPreroll(mh: MediaHandler; time: TimeValue; rate: Fixed): ComponentResult;
  235.     {$IFC NOT GENERATINGCFM}
  236.     INLINE $2F3C, $8, $518, $7000, $A82A;
  237.     {$ENDC}
  238. FUNCTION MediaSampleDescriptionChanged(mh: MediaHandler; index: LONGINT): ComponentResult;
  239.     {$IFC NOT GENERATINGCFM}
  240.     INLINE $2F3C, $4, $519, $7000, $A82A;
  241.     {$ENDC}
  242. FUNCTION MediaHasCharacteristic(mh: MediaHandler; characteristic: OSType; VAR hasIt: BOOLEAN): ComponentResult;
  243.     {$IFC NOT GENERATINGCFM}
  244.     INLINE $2F3C, $8, $51A, $7000, $A82A;
  245.     {$ENDC}
  246. FUNCTION MediaGetOffscreenBufferSize(mh: MediaHandler; VAR bounds: Rect; depth: INTEGER; ctab: CTabHandle): ComponentResult;
  247.     {$IFC NOT GENERATINGCFM}
  248.     INLINE $2F3C, $A, $51B, $7000, $A82A;
  249.     {$ENDC}
  250. FUNCTION MediaSetHints(mh: MediaHandler; hints: LONGINT): ComponentResult;
  251.     {$IFC NOT GENERATINGCFM}
  252.     INLINE $2F3C, $4, $51C, $7000, $A82A;
  253.     {$ENDC}
  254. FUNCTION MediaGetName(mh: MediaHandler; VAR name: Str255; requestedLanguage: LONGINT; VAR actualLanguage: LONGINT): ComponentResult;
  255.     {$IFC NOT GENERATINGCFM}
  256.     INLINE $2F3C, $C, $51D, $7000, $A82A;
  257.     {$ENDC}
  258. FUNCTION MediaForceUpdate(mh: MediaHandler; forceUpdateFlags: LONGINT): ComponentResult;
  259.     {$IFC NOT GENERATINGCFM}
  260.     INLINE $2F3C, $4, $51E, $7000, $A82A;
  261.     {$ENDC}
  262. FUNCTION MediaGetDrawingRgn(mh: MediaHandler; VAR partialRgn: RgnHandle): ComponentResult;
  263.     {$IFC NOT GENERATINGCFM}
  264.     INLINE $2F3C, $4, $51F, $7000, $A82A;
  265.     {$ENDC}
  266. FUNCTION MediaGSetActiveSegment(mh: MediaHandler; activeStart: TimeValue; activeDuration: TimeValue): ComponentResult;
  267.     {$IFC NOT GENERATINGCFM}
  268.     INLINE $2F3C, $8, $520, $7000, $A82A;
  269.     {$ENDC}
  270. FUNCTION MediaInvalidateRegion(mh: MediaHandler; invalRgn: RgnHandle): ComponentResult;
  271.     {$IFC NOT GENERATINGCFM}
  272.     INLINE $2F3C, $4, $521, $7000, $A82A;
  273.     {$ENDC}
  274. FUNCTION MediaGetNextStepTime(mh: MediaHandler; flags: INTEGER; mediaTimeIn: TimeValue; VAR mediaTimeOut: TimeValue; rate: Fixed): ComponentResult;
  275.     {$IFC NOT GENERATINGCFM}
  276.     INLINE $2F3C, $E, $522, $7000, $A82A;
  277.     {$ENDC}
  278. FUNCTION MediaSetNonPrimarySourceData(mh: MediaHandler; inputIndex: LONGINT; dataDescriptionSeed: LONGINT; dataDescription: Handle; data: UNIV Ptr; dataSize: LONGINT; asyncCompletionProc: ICMCompletionProcRecordPtr; transferProc: ProcPtr; refCon: UNIV Ptr): ComponentResult;
  279.     {$IFC NOT GENERATINGCFM}
  280.     INLINE $2F3C, $20, $523, $7000, $A82A;
  281.     {$ENDC}
  282. FUNCTION MediaChangedNonPrimarySource(mh: MediaHandler; inputIndex: LONGINT): ComponentResult;
  283.     {$IFC NOT GENERATINGCFM}
  284.     INLINE $2F3C, $4, $524, $7000, $A82A;
  285.     {$ENDC}
  286. FUNCTION MediaTrackReferencesChanged(mh: MediaHandler): ComponentResult;
  287.     {$IFC NOT GENERATINGCFM}
  288.     INLINE $2F3C, 0, $525, $7000, $A82A;
  289.     {$ENDC}
  290. FUNCTION MediaGetSampleDataPointer(mh: MediaHandler; sampleNum: LONGINT; VAR dataPtr: Ptr; VAR dataSize: LONGINT; VAR sampleDescIndex: LONGINT): ComponentResult;
  291.     {$IFC NOT GENERATINGCFM}
  292.     INLINE $2F3C, $10, $526, $7000, $A82A;
  293.     {$ENDC}
  294. FUNCTION MediaReleaseSampleDataPointer(mh: MediaHandler; sampleNum: LONGINT): ComponentResult;
  295.     {$IFC NOT GENERATINGCFM}
  296.     INLINE $2F3C, $4, $527, $7000, $A82A;
  297.     {$ENDC}
  298. FUNCTION MediaTrackPropertyAtomChanged(mh: MediaHandler): ComponentResult;
  299.     {$IFC NOT GENERATINGCFM}
  300.     INLINE $2F3C, 0, $528, $7000, $A82A;
  301.     {$ENDC}
  302. FUNCTION MediaSetTrackInputMapReference(mh: MediaHandler; inputMap: QTAtomContainer): ComponentResult;
  303.     {$IFC NOT GENERATINGCFM}
  304.     INLINE $2F3C, $4, $529, $7000, $A82A;
  305.     {$ENDC}
  306. FUNCTION MediaSetGWorlds(mh: MediaHandler; directPort: CGrafPtr; directGD: GDHandle; offscreenPort: CGrafPtr; offscreenGD: GDHandle): ComponentResult;
  307.     {$IFC NOT GENERATINGCFM}
  308.     INLINE $2F3C, $10, $52A, $7000, $A82A;
  309.     {$ENDC}
  310. FUNCTION MediaSetVideoParam(mh: MediaHandler; whichParam: LONGINT; VAR value: INTEGER): ComponentResult;
  311.     {$IFC NOT GENERATINGCFM}
  312.     INLINE $2F3C, $8, $52B, $7000, $A82A;
  313.     {$ENDC}
  314. FUNCTION MediaGetVideoParam(mh: MediaHandler; whichParam: LONGINT; VAR value: INTEGER): ComponentResult;
  315.     {$IFC NOT GENERATINGCFM}
  316.     INLINE $2F3C, $8, $52C, $7000, $A82A;
  317.     {$ENDC}
  318. FUNCTION MediaCompare(mh: MediaHandler; VAR isOK: BOOLEAN; srcMedia: Media; srcMediaComponent: ComponentInstance): ComponentResult;
  319.     {$IFC NOT GENERATINGCFM}
  320.     INLINE $2F3C, $C, $52D, $7000, $A82A;
  321.     {$ENDC}
  322.  
  323. CONST
  324.     kMediaInitializeSelect        = $501;
  325.     kMediaSetHandlerCapabilitiesSelect = $502;
  326.     kMediaIdleSelect            = $503;
  327.     kMediaGetMediaInfoSelect    = $504;
  328.     kMediaPutMediaInfoSelect    = $505;
  329.     kMediaSetActiveSelect        = $506;
  330.     kMediaSetRateSelect            = $507;
  331.     kMediaGGetStatusSelect        = $508;
  332.     kMediaTrackEditedSelect        = $509;
  333.     kMediaSetMediaTimeScaleSelect = $50A;
  334.     kMediaSetMovieTimeScaleSelect = $50B;
  335.     kMediaSetGWorldSelect        = $50C;
  336.     kMediaSetDimensionsSelect    = $50D;
  337.     kMediaSetClipSelect            = $50E;
  338.     kMediaSetMatrixSelect        = $50F;
  339.     kMediaGetTrackOpaqueSelect    = $510;
  340.     kMediaSetGraphicsModeSelect    = $511;
  341.     kMediaGetGraphicsModeSelect    = $512;
  342.     kMediaGSetVolumeSelect        = $513;
  343.     kMediaSetSoundBalanceSelect    = $514;
  344.     kMediaGetSoundBalanceSelect    = $515;
  345.     kMediaGetNextBoundsChangeSelect = $516;
  346.     kMediaGetSrcRgnSelect        = $517;
  347.     kMediaPrerollSelect            = $518;
  348.     kMediaSampleDescriptionChangedSelect = $519;
  349.     kMediaHasCharacteristicSelect = $51A;
  350.     kMediaGetOffscreenBufferSizeSelect = $51B;
  351.     kMediaSetHintsSelect        = $51C;
  352.     kMediaGetNameSelect            = $51D;
  353.     kMediaForceUpdateSelect        = $51E;
  354.     kMediaGetDrawingRgnSelect    = $51f;
  355.     kMediaGSetActiveSegmentSelect = $520;
  356.     kMediaInvalidateRegionSelect = $521;
  357.     kMediaGetNextStepTimeSelect    = $522;
  358.     kMediaSetNonPrimarySourceDataSelect = $523;
  359.     kMediaChangedNonPrimarySourceSelect = $524;
  360.     kMediaTrackReferencesChangedSelect = $525;
  361.     kMediaGetSampleDataPointerSelect = $526;
  362.     kMediaReleaseSampleDataPointerSelect = $527;
  363.     kMediaTrackPropertyAtomChangedSelect = $528;
  364.     kMediaSetTrackInputMapReferenceSelect = $529;
  365.     kMediaSetGWorldsSelect        = $52a;
  366.     kMediaSetVideoParamSelect    = $52b;
  367.     kMediaGetVideoParamSelect    = $52c;
  368.     kMediaCompareSelect            = $52d;
  369.  
  370.  
  371. {$ALIGN RESET}
  372. {$POP}
  373.  
  374. {$SETC UsingIncludes := MediaHandlersIncludes}
  375.  
  376. {$ENDC} {__MEDIAHANDLERS__}
  377.  
  378. {$IFC NOT UsingIncludes}
  379.  END.
  380. {$ENDC}
  381.